package com.example;


public class FullTest {
    public static void main(String[] args) {
        System.out.println("🧪 开始完整功能测试...\n");

        // 测试计算器功能（包含除零保护）
        testCalculator();

        // 测试字符串工具功能
        testStringUtils();

        System.out.println("\n🎉 所有功能测试完成！Git回滚操作验证成功！");
    }

    public static void testCalculator() {
        System.out.println("=".repeat(40));
        System.out.println("计算器功能测试");
        System.out.println("=".repeat(40));

        Calculator.displayFunctions();

        // 正常运算测试
        Calculator.add(20, 15);
        Calculator.subtract(20, 15);
        Calculator.multiply(20, 15);

        // 除零保护测试
        try {
            Calculator.divide(20, 0);
            System.out.println("❌ 错误：除零保护未生效！");
        } catch (IllegalArgumentException e) {
            System.out.println("✅ 成功：除零保护正常生效 - " + e.getMessage());
        }
    }

    public static void testStringUtils() {
        System.out.println("\n" + "=".repeat(40));
        System.out.println("字符串工具功能测试");
        System.out.println("=".repeat(40));

        StringUtils.displayFunctions();

        // 各种字符串测试
        String test1 = "Hello Git World";
        System.out.println("\n测试字符串: " + test1);
        System.out.println("反转结果: " + StringUtils.reverse(test1));
        System.out.println("单词数量: " + StringUtils.countWords(test1));

        // 回文测试
        String test2 = "A man a plan a canal Panama";
        System.out.println("\n回文测试: " + test2);
        System.out.println("是否为回文: " + StringUtils.isPalindrome(test2));
    }
}